/**
 * 找到其中最长严格递增子序列的长度,可以删除（或不删除）数组中的元素而不改变其余元素的顺序
 * @param {number[]} nums
 * @return {number}
 */
var lengthOfLIS = function (nums) {
    // dp表示以当前位置元素为结尾的最长子序列长度，初始为1，即为自身
    const dp = new Array(nums.length).fill(1)
    for (let i = 0; i < nums.length; i++) {
        for (let j = 0; j < i; j++) {
            // 寻找在i之前且比i小的元素
            if (nums[j] < nums[i]) {
                dp[i] = Math.max(dp[j] + 1, dp[i])
            }
        }
    }
    return Math.max(...dp)
};